package persistence.dao;

import java.util.Set;

import persistence.dto.ProductDTO;

public interface IProductsDAO
{
	/**
	 * gets all products from file
	 * @return returns a set containing all ProductDTOs from memory
	 */
	public Set<ProductDTO> getAllProducts();
	
	/**
	 * persists a new product to memory
	 * @param productDTO the product to be persisted to memory
	 * @return returns the unique ID assigned to the product
	 */
	public int add(ProductDTO productDTO);
	
	/**
	 * edits the product on file
	 * @param productDTO the product to be edited
	 * @return returns true upon success, false otherwise
	 */
	public boolean edit(ProductDTO productDTO);
	
	/**
	 * removes the product from file
	 * @param productDTO the product to be removed
	 * @return returns true opon success, false otherwise
	 */
	public boolean remove(ProductDTO productDTO);
}
